package main;

import java.util.LinkedList;

import xml.XMLWriter;

import componenti.buffer.Entity;
import componenti.statistica.Erlang;
import componenti.statistica.Iperesponenziale;
import componenti.statistica.LeggeDistribuzione;

public class Main {
	public static void main(String[] args) {
//		String command = "java jade.Boot -gui";
//		try {
//			java.lang.Runtime.getRuntime().exec(command);
//			String host = "localhost";
//			String port = "1077";
//			Runtime rt = Runtime.instance();
//			Profile p = new ProfileImpl();
//			p.setParameter(Profile.MAIN_HOST, host);
//			p.setParameter(Profile.MAIN_PORT, port);
//			ContainerController cc = rt.createMainContainer(p);
//			Object[] par = { new SimulationFacade(null),new Esponenziale(1), new Integer(100),
//					new BufferFIFO<Entity>(), 1000 };
//			cc.createNewAgent("Produttore", "agenti.AgenteGeneratore", par)
//					.start();
//			
//			// cc.createNewAgent("Carlo", "ShutDown", null).start();
//		} catch (Exception e) {
//			e.printStackTrace();
//		}
		
		LinkedList<Entity> entities= new LinkedList<Entity>();
		Entity e1=new Entity(1);
		e1.setTempoServizio(1.3);
		e1.setIstantePartenza(2.3);
		e1.setIstanteArrivo(2);
		Entity e2=new Entity(2);
		e2.setTempoServizio(10.3);
		e2.setIstantePartenza(26.3);
		e2.setIstanteArrivo(21);
		Entity e3=new Entity(3);
		e3.setTempoServizio(8.3);
		e3.setIstantePartenza(7.3);
		e3.setIstanteArrivo(1);
		Entity e4=new Entity(4);
		e4.setTempoServizio(2.23);
		e4.setIstantePartenza(6.138992);
		e4.setIstanteArrivo(2.231515);
		
		entities.add(e1);
		entities.add(e2);
		entities.add(e3);
		entities.add(e4);
		
		LeggeDistribuzione p=new Iperesponenziale();
		((Iperesponenziale)p).aggiungiFunzione(1, 2);
		((Iperesponenziale)p).aggiungiFunzione(2, 7.2);
		((Iperesponenziale)p).aggiungiFunzione(12, 2.1);
		LeggeDistribuzione c=new Erlang(1.7,3);
		
		XMLWriter xml=new XMLWriter(entities,p,c);
		xml.create("ProvaSimulazione");
	}
}
